As shown in FIG. 1, a typical computer system 10 has, among other components, a microprocessor 12, one or more forms of memory 14, integrated-circuits 16 having specific functionalities, and peripheral computer resources (not shown), e.g., monitor, keyboard, software programs, etc. These components communicate with one another via communication paths 18, e.g., wires, buses, etc., to accomplish the various tasks of the computer system 10.
When an integrated circuit (16 in FIG. 1) communicates with another integrated circuit, i.e., “chip-to-chip communication,” data is transmitted in a series of binary 0's and 1's from a transmitting circuit to a receiving circuit. Accordingly, at any particular time, a data signal received at the receiving circuit may have a low voltage potential representative of a binary ‘0’ or a high voltage potential representative of a binary ‘1.’
More specifically, in data transmission or “chip-to-chip communication,” a transmitting circuit drives a data bit into a printed circuit board (PCB) trace or data channel using specific voltage levels. As referenced to above, a binary ‘1’ is represented by any voltage above a particular voltage value, and a binary ‘0’ is represented by any voltage below a particular voltage value. Accordingly, when driving a ‘1,’ a driver circuit in the transmitting circuit places, or “launches,” a voltage step on the PCB trace.
FIG. 2 shows a portion of a typical chip-to-chip communication system 20. The chip-to-chip communication system 20 includes in part a transmitting circuit 22 and a receiving circuit 24. The transmitting circuit 22, using a driver stage (also referred to as “output buffer”) formed by a pull-up transistor 26 and a pull-down transistor 28, is arranged to drive a data signal 40 into a data channel (or PCB trace) 30 which, in turn, propagates the data signal 40 to a receiver 32 in the receiving circuit 24. The inputs to the pull-up transistor 26 and the pull-down transistor 28 are respectively controlled by buffers 34 and 36, which are controlled by some logic 38 in the transmitting circuit 22. Those skilled in the art will understand that the inputs to the pull-up transistor 26 and the pull-down transistor 28 are controlled separately in order to control, among other things, crow bar currents and voltage swing levels of the data signal 40.
The maximum frequency of a particular chip-to-chip communication system is a function not only of the time that it takes for a data bit to propagate from a transmitting circuit (e.g., 22 in FIG. 2) to a receiving circuit (e.g., 24 in FIG. 2), but also of the time required for the data bit on a signal to settle to a level that can be reliably recognized by the receiving circuit (e.g., 24 in FIG. 2) as being ‘high’ or ‘low.’ Such settling time of a data signal is dependent on many factors including, but not limited to, a slew rate or edge rate of the data signal launched by the transmitting circuit (e.g., 24 in FIG. 2), oscillations in the voltage level of the data signal resulting from the effects of package inductance, pad capacitance, other parasitics, etc., ringing due to reflections from impedance mismatches within the chip-to-chip communication system, the voltage level of the launched data signal relative to the overall voltage swing of the data signal, and the effectiveness of the terminations at both ends of the data channel between the transmitting and receiving circuits.